home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
MATHEMAT
/
STATISTI
/
0850D.ZIP
/
SET4.ARC
/
CHI-DIST.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1979-12-31
|
4KB
|
122 lines
VAR SWITCH4,N,NUMSAMPS:INTEGER;
COEFF,CRIT52,CRIT51,CRIT12,CRIT11,CRIT012,CRIT011:REAL;
SWITCH3,C:CHAR;
SWITCH2:BOOLEAN;
PROCEDURE FINDCRITICALVALUES (DEGFREE:INTEGER);
VAR TEMP1,TEMP2:REAL;
PROCEDURE VALS(C52,C51,C12,C11,C012,C011:REAL);
BEGIN
CRIT52:=C52;
CRIT51:=C51;
CRIT12:=C12;
CRIT11:=C11;
CRIT012:=C012;
CRIT011:=C011;
END;
PROCEDURE LOOKUP (DF:INTEGER);
BEGIN
CASE DF OF
1: VALS (2.71,3.84,5.02,6.63,7.88,10.83);
2: VALS (4.61,5.99,7.38,9.21,10.60,13.82);
3: VALS (6.25,7.81,9.35,11.34,12.84,16.26);
4: VALS (7.78,9.49,11.14,13.27,14.86,18.47);
5: VALS (9.24,11.07,12.83,15.09,16.75,20.52);
6: VALS (10.65,12.59,14.45,16.81,18.55,22.46);
7: VALS (12.02,14.07,16.01,18.48,20.28,24.32);
8: VALS (13.36,15.51,17.53,20.09,21.95,26.13);
9: VALS (14.68,16.92,19.02,21.67,23.59,27.88);
10: VALS (15.99,18.31,20.48,23.21,25.19,29.59);
11: VALS (17.28,19.68,21.82,24.73,26.76,31.26);
12: VALS (18.55,21.03,23.34,26.22,28.30,32.91);
13: VALS (19.81,22.36,24.74,27.69,29.82,34.52);
14: VALS (21.06,23.68,26.12,29.14,31.32,36.12);
15: VALS (22.31,25.00,27.49,30.58,32.80,37.70);
16: VALS (23.54,26.30,28.85,32.00,34.27,39.25);
17: VALS (24.77,27.59,30.19,33.41,35.72,40.79);
18: VALS (25.99,28.87,31.53,34.81,37.16,42.31);
19: VALS (27.20,30.14,32.85,36.19,38.58,43.82);
20: VALS (28.41,31.41,34.17,37.57,40.00,45.32);
21: VALS (29.62,32.67,35.48,38.93,41.40,46.80);
22: VALS (30.81,33.92,36.78,40.29,42.80,48.27);
23: VALS (32.01,35.17,38.08,41.64,44.18,49.73);
24: VALS (33.20,36.42,39.36,42.98,45.56,51.18);
25: VALS (34.38,37.65,40.65,44.31,46.93,52.62);
26: VALS (35.56,38.89,41.92,45.64,48.29,54.05);
27: VALS (36.74,40.11,43.19,46.96,49.65,55.48);
28: VALS (37.92,41.34,44.46,48.28,50.99,56.89);
29: VALS (39.09,42.56,45.72,49.59,52.34,58.30);
30: VALS (40.26,43.77,46.98,50.89,53.67,59.70);
31: VALS (51.81,55.76,59.34,63.69,66.76,73.40);
32: VALS (63.17,67.50,71.42,76.15,79.49,86.66);
33: VALS (74.40,79.08,83.30,88.38,91.95,99.61);
34: VALS (85.53,90.53,95.02,100.43,104.22,112.32);
35: VALS (96.58,101.88,106.63,112.33,116.32,124.84);
36: VALS (107.57,113.14,118.14,124.12,128.30,137.21);
37: VALS (118.50,124.34,129.56,135.81,140.17,149.45);
END;
END;
BEGIN
LOOKUP (DEGFREE);
WRITE ('THE CRITICAL VALUE AT .05 (ONE TAILED) IS: ');
WRITELN (CRIT52:5:2);
WRITE ('THE CRITICAL VALUE AT .05 (TWO TAILED) IS: ');
WRITELN (CRIT51:5:2);
WRITE ('THE CRITICAL VALUE AT .01 (ONE TAILED) IS: ');
WRITELN (CRIT12:5:2);
WRITE ('THE CRITICAL VALUE AT .01 (TWO TAILED) IS: ');
WRITELN (CRIT11:5:2);
WRITE ('THE CRITICAL VALUE AT .001 (ONE TAILED) IS: ');
WRITELN (CRIT012:5:2);
WRITE ('THE CRITICAL VALUE AT .001 (TWO TAILED) IS: ');
WRITELN (CRIT011:5:2);
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'THE CRITICAL VALUE AT .05 (ONE TAILED) IS: ',CRIT52:5:2);
WRITELN (LST,'THE CRITICAL VALUE AT .05 (TWO TAILED) IS: ',CRIT51:5:2);
WRITELN (LST,'THE CRITICAL VALUE AT .01 (ONE TAILED) IS: ',CRIT12:5:2);
WRITELN (LST,'THE CRITICAL VALUE AT .01 (TWO TAILED) IS: ',CRIT11:5:2);
WRITELN (LST,'THE CRITICAL VALUE AT .001 (ONE TAILED) IS: ',CRIT012:5:2);
WRITELN (LST,'THE CRITICAL VALUE AT .001 (TWO TAILED) IS: ',CRIT011:5:2);
END;
END;
BEGIN
REPEAT
WRITELN ('CHI SQUARED SIGNIFICANCE');
WRITE ('DO YOU WANT A PRINTOUT (Y/N)');
READLN (SWITCH3);
IF SWITCH3='Y' THEN SWITCH4:=1;
IF SWITCH3='y' THEN SWITCH4:=1;
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'CHI SQUARED SIGNIFICANCE');
END;
WRITE ('CHI SQUARE STATISTIC = ');
READLN (COEFF);
WRITE ('DEGREES OF FREEDOM = ');
READLN (N);
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'CHI SQUARE STATISTIC = ',COEFF:8:3);
WRITELN (LST,'DEGREES OF FREEDOM = ',N);
END;
NUMSAMPS:=N;
IF N>30 THEN NUMSAMPS:=31;
IF N>40 THEN NUMSAMPS:=32;
IF N>50 THEN NUMSAMPS:=33;
IF N>60 THEN NUMSAMPS:=34;
IF N>70 THEN NUMSAMPS:=35;
IF N>80 THEN NUMSAMPS:=36;
IF N>90 THEN NUMSAMPS:=37;
FINDCRITICALVALUES (NUMSAMPS);
WRITE ('DO YOU WANT ANOTHER RUN, (Y/N): ');
READLN (C);
WHILE NOT (C IN ['Y','y','n','N']) DO
BEGIN
WRITE ('TYPE Y FOR YES, OR N FOR NO: ');
READLN (C);
END;
SWITCH2:=C IN ['N','n'];
UNTIL SWITCH2
END.